Remus: fix alignment bug in python rtnl library
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 15 Apr 2010 07:42:40 +0000 (08:42 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 15 Apr 2010 07:42:40 +0000 (08:42 +0100)
Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
tools/python/xen/remus/netlink.py

index e184f64ca8b793eae9c4dd9986a51b51e4159bcb..d4895c7f02161b067e78facf2f0368f810aa0808 100644 (file)
@@ -77,7 +77,7 @@ class rtattr(object):
         return align(self.rta_len)
 
     def pack(self):
-        self.rta_len = align(self.fmtlen + len(self.body))
+        self.rta_len = self.fmtlen + align(len(self.body), 2)
         s = struct.pack(self.fmt, self.rta_len, self.rta_type) + self.body
         pad = self.rta_len - len(s)
         if pad:
@@ -88,7 +88,7 @@ class rtattr(object):
         args = struct.unpack(self.fmt, msg[:self.fmtlen])
         self.rta_len, self.rta_type = args
 
-        self.body = msg[align(self.fmtlen):self.rta_len]
+        self.body = msg[self.fmtlen:self.rta_len]
 
 class rtattrlist(object):
     def __init__(self, msg):